<template>
    <div class="newsinfo-container">
        <!-- 大标题 -->
        <h3 class="title">{{ newsinfo.title }}</h3>
        <!-- 子标题 -->
        <p class="subtitle">
            <span>发表时间：{{ newsinfo.add_time | dateFormat }}</span>
            <span>点击：{{ newsinfo.click }}次</span>
        </p>

        <hr>

        <!-- <div class="content" v-html="newsinfo.content.replace(/ofv795nmp.bkt.clouddn.com/g, '/demo.dtcms.net')"></div> -->
        <!-- 内容区域 -->
        <div class="content" v-html="content"></div>

        <!-- 评论子组件区域 -->
        <comment-box :id="this.id"></comment-box>
    </div>
</template>

<script>
// 1. 导入 评论子组件
import comment from '../subcomponents/comment.vue'


export default {
    data(){
        return {
            //  将 URL 地址中传递过来的 id 值，挂载到 data 上，方便以后调用
            id: this.$route.params.id,
            newsinfo: {}, // 新闻对象
            content: [], // 获取图文资讯详情的content内容
        }
    },
    created(){
        this.getNewsInfo();
    },
    methods: {
        getNewsInfo(){
            // 获取新闻详情
            this.$http.get("api/getnew/" + this.id).then(result => {
                if(result.body.status === 0){
                    // 处理v-html返回的数据img图片的地址错误
                    this.content = result.body.message[0].content
                    .replace(/ofv795nmp.bkt.clouddn.com/g, '/demo.dtcms.net')
                    this.newsinfo = result.body.message[0];
                }else{
                    Toast("获取新闻失败！");
                }
            });
        }
    },
    components: { // 2. 用来注册子组件的节点
        "comment-box": comment
    }
}
</script>

// 去掉 scoped 属性，页面中的图片正常展示【scoped可以解决全局污染问题】
<style lang="scss">
.newsinfo-container{
    padding: 0 4px;
    .title{
        font-size: 16px;
        text-align: center;
        margin: 15px 0;
        color: red;
    }
    .subtitle{
        font-size: 13px;
        color: #226aff;
        display: flex;
        justify-content: space-between;
    }
    .content{
        img{
            width: 100%;
        }
    }

}
</style>